<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <!-- 
        // 欧几里得辗转相除法 
        // 求最大公约数
        // 1.取两个数中较大的数 %  两个数中较小的数   
        // 2.如果余数不为0  那么继续用 除数 % 余数
        // 3.如果余数为0  那么此时的除数(两个数中较小的数)就是最大公约数

     -->
</body>
<script>
    /*  var m = 18;
     var n = 12;
 
     var mod = m % n;  //余数
 
     if(mod != 0){ // 余数不为0  => 除数(=>m) % 余数(=>n)
         var m = n;
         var n = mod;
 
         var mod = m % n;
 
         if(mod != 0){
             var m = n;
             var n = mod;
 
             .....
 
         }else{
             console.log(n);
         }
 
     }else{
         console.log(n);
     } */


    var m = 18;
    var n = 12;

    if (n > m) {  //如果 n > m  交换两个数的值  => 保证m始终是两个数中较大的数, n两个数中较小的数
        var temp = m;
        m = n;
        n = temp;
    }

    do {
        var mod = m % n;  // 18 % 12 = 1 ... 6

        // 为下一次循环做准备  有可能余数不为0  => 除数(=>m) % 余数(=>n)
        var m = n;   // m = 12
        var n = mod; // n = 6; 

    } while (mod != 0);
    console.log(m);









</script>

</html>